package com.sudo.boot.service.sys;

import com.mybatisflex.core.paginate.Page;
import com.sudo.boot.common.util.task.TaskMethod;
import com.sudo.boot.mapper.sys.entity.SysLocalJob;
import com.sudo.boot.mapper.sys.model.bo.SysLocalJobBoQuery;
import com.sudo.boot.mapper.sys.model.bo.SysLocalJobBoSave;
import com.sudo.boot.mapper.sys.model.bo.SysLocalJobBoEditNoStatus;
import com.sudo.boot.mapper.sys.model.bo.SysLocalJobBoEditStatus;

import java.util.List;
import java.util.Map;

public interface SysLocalJobService {

    Page<SysLocalJob> querySysLocalJobByPage(SysLocalJobBoQuery bo);

    List<SysLocalJob> getSysLocalJobByStatus(String status);

    void updateSysLocalJobStatus(SysLocalJobBoEditStatus bo);

    Map<String, Map<String, TaskMethod>> getMethodAndParamCountList();

    void saveSysLocalJob(SysLocalJobBoSave bo);

    SysLocalJob querySysLocalJobById(Integer id);

    void updateSysLocalJobWithNoStatus(SysLocalJobBoEditNoStatus bo);

    void deleteSysLocalJob(Integer id);

    String verifySysLocalJobExist(int currentJobId, String ids);
}
